<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>

  <body>
    <script>
      // 1.JS延迟加载的方式有哪些？（5）
      //把js语句放在html语句的后面。
      //   defer 属性

      // 2.前端 JavaScript 中的 ECMAScript、DOM、BOM 的含义；（5）
      // CMAScript-------ECMA组织制定的标准
      // DOM------- 文档对象模型
      // BOM------- 浏览器对象模型

      // 3.JavaScript 的数据类型有哪些？（5）
      // String number Boolean null undefined Array Object Symbol

      // 4.如何进行数据类型的判断？（5）
      // 使用数据判断方法 typeof instanceof Object.prototype.toString.call
      

      // 5.null 和 undefined 的区别？什么时候会得到 undefined？（5）
      // undefined 是声明了变量但是未赋值会得到 undefined
      // null 是空的对象
      // 6.如何理解 null == undefined 返回 true，null === undefined 返回 false？（5）
      // null == undefined  == 返回ture 是值内容相等
      // null === undefined  === 返回false 是因为类型不相等
      // 7.使用 continue 或 break 终止循环时，两种方式的区别是？（5）
      // continue 是符合条件跳出循环
      // break 是符合条件终止循环

      // 8.如何判断字符串内是否包含指定字符？（5）
      // indexOf lastIndexOf  用字符串方法查询

      // 9.请尽量列举出数组的方法，并且注明哪些方法会修改原数组，哪些不会；（5）
      // isArray 检查是否为数组 不会修改原数组
      // reverse 数组内容的倒序 会修改原数组
      // indexOf lastIndexOf 检查数组内容并返回下标 不会修改原数组
      // includes 检查数组有没有指定内容 不会修改原数组
      // posh 会修改原数组

      // 10. 请写出下面语句的输出结果：（5）
      // var bar = true,
      //     number = 0;
      // console.log(bar + 0); // 1
      // console.log(bar + "xyz"); // truexyz
      // console.log(bar + true); //  2
      // console.log(+true); // 1
      // console.log(!'bluej'); //false
      // console.log(number++); //0
      // console.log(++number); // 2
      // console.log(number); //2

      // 11. 根据用户输入时间实现倒计时，输入格式错误时要有所提示（5）
      // window.prompt("请输入目标时间");
      //   let a = window.prompt("请输入目标时间");
      //   let now = new Date(a);
      //   let newNow = new Date();
      //   if (a.indexOf(' ') == -1 && a.indexOf(',') == -1) {
      //     console.log("目标时间格式有误，年月日需要用空格或者逗号隔开");
      //   } else if(a.length > 10 && a.indexOf(':') == -1) {
      //     console.log("目标时间格式有误，输入时分秒需要以：隔开");
      //   }else {
      //     times = (now - newNow) / 1000;
      //     d = parseInt(times / 60 / 60 / 24);

      //     console.log('距离目标时间还差'+d + "天");
      //   }

      // 13.把下面数组成员排序打乱；（5）
      //   var arr = [10, 20, 30, 40, 50, 60];
      //   let newArr = [];
      //   for (let i = 0; i < arr.length - 1; i++) {
      //     a = arr[Math.floor(Math.random() * arr.length)];
      //     if (newArr.indexOf(a) == -1) {
      //       newArr.push(a);
      //     } else {
      //       i--;
      //     }
      //   }
      //   console.log(newArr);

      // 12.输出从小到大排序好的五个不重复的随机"素数",范围[10-58)；（10）

      // 14. 将多个数组进行去重合并；（10）
      // var arr1 = [1, 2, 3],
      //   arr2 = [2, 3, 4, 5];
      // arr1 = arr1.concat(arr2);
      // let arr3 = [];
      // for (let i = 0; i <= arr1.length - 1; i++) {
      //   if (arr3.indexOf(arr1[i]) == -1) {
      //     arr3.push(arr1[i]);
      //   }
      // }
      // console.log(arr3);

      // 15. 找出数组 arr=[1, 2, 3, "melon", 4, "melon", 2, 4, "melon"] 中重复出现过的元素,并用数组将重复元素装起来输出,并且统计每个元素出现的次数（10）
        //  let  arr = [1, 2, 3, "melon", 4, "melon", 2, 4, "melon"];
        //  let newArr = [];
        //   for(let i =0; i < arr.length; i++){
        //       if(arr.indexOf(arr[i]) != arr.lastIndexOf(arr[i])){
        //           newArr.push(arr[i]);
        //       }
        //   }
        //   console.log(newArr);

      // 16. 找出数组中年龄小于18岁的女生的信息重新组成新的数组,并且将她们count变为现有的平方（10）
    //   var arr = [
    //     {
    //       name: "111",
    //       sex: "boy",
    //       age: 18,
    //       count: 20,
    //     },
    //     {
    //       name: "222",
    //       sex: "girl",
    //       age: 17,
    //       count: 30,
    //     },
    //     {
    //       name: "333",
    //       sex: "boy",
    //       age: 16,
    //       count: 40,
    //     },
    //     {
    //       name: "444",
    //       sex: "girl",
    //       age: 15,
    //       count: 50,
    //     },
    //     {
    //       name: "555",
    //       sex: "boy",
    //       age: 20,
    //       count: 60,
    //     },
    //     {
    //       name: "666",
    //       sex: "girl",
    //       age: 13,
    //       count: 70,
    //     },
    //     {
    //       name: "777",
    //       sex: "boy",
    //       age: 14,
    //       count: 80,
    //     },
    //   ];
    //   let arr1 = [];
    //   for (let i = 0; i < arr.length; i++) {
    //     if (arr[i].age < 17) {
    //     arr[i].count *=arr[i].count;
    //       arr1.push(arr[i]);
    //     }
    //   }
    //   console.log(arr1);
    </script>
  </body>
</html>
